<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>

    // pending  fulfilled  rejected

    // var p = new Promise(function (resolve, reject) {
    //     setTimeout(function () {
    //          resolve(1);
    //         console.log(p);
    //     }, 1000)
    // })
    // console.log(p);

    // p.then(function (arg) {
    //     console.log("fulfilled", arg);
    // }, function (arg) {
    //     console.log("rejected", arg);
    // })

    // p.catch(function (arg) {
    //     console.log("rejected", arg);
    // })


    // p.then(function (arg) {
    //     console.log("fulfilled", arg);
    // }).catch(function (arg) {
    //     console.log("rejected", arg);
    // })


    // p.then(function (arg) {
    //     console.log("fulfilled", arg);
    //     return 2; // p2
    // }).then(function (arg) {
    //     console.log("fulfilled", arg);
    //     return 3; // p3
    // }).then(function (arg) {
    //     console.log("fulfilled", arg);
    //     return 4;
    // }).catch(function (arg) {
    //     console.log("rejected", arg);
    // })


    var p = new Promise(function (resolve, reject) {
        setTimeout(function () {
            reject(1);
            console.log(p);
        }, 1000)
    })
    console.log(p);

    p.then(function (arg) {
        console.log("fulfilled", arg);
        return 2;
    }, function (arg) {
        console.log("rejected", arg);
        return 5;
    }).then(function (arg) {
        console.log("fulfilled", arg);
        return 3;
    }).then(function (arg) {
        console.log("fulfilled", arg);
        return 4;
    }).catch(function (arg) {
        console.log("rejected", arg);
    })

</script>

</html>